package com.xoa.dao.ncclound;

import com.xoa.model.nccloud.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;

/*
 * NCC 视图 操作类
 *
 * @author wmf
 * @date 2021年6月1日上午08:53:11
 * */
@Component
public interface NCCViewMapper {


    /**
     * 保存 行政级别、任职类型、任职方式、异动原因
     * @param defdoc
     */
    void saveDefdoc(BaseBdDefdoc defdoc);

    /**
     * 查询 行政级别、任职类型、任职方式、异动原因
     * @param defdoc
     */
    List<BaseBdDefdoc> selectDefdoc(BaseBdDefdoc defdoc);

    /**
     * 保存职务
     * @param obj
     */
    void saveOmJob(NccOmJobV obj);

    /**
     * 查询职务
     * @param obj
     * @return
     */
    List<NccOmJobV> selectOmJob(NccOmJobV obj);

    /**
     * 保存职务类别
     * @param obj
     */
    void saveOmJobType(NccOmJobtypeV obj);

    /**
     * 查询职务类别
     * @param obj
     * @return
     */
    List<NccOmJobtypeV> selectOmJoType(NccOmJobtypeV obj);

    /**
     * 保存异动类型
     * @param obj
     */
    void saveTrnstype(NccTrnstypeV obj);

    /**
     * 查询异动类型
     * @param obj
     * @return
     */
    List<NccTrnstypeV> selectTrnstype(NccTrnstypeV obj);

    /**
     * 保存薪资标准类别
     * @param obj
     */
    void saveWaGrad(NccWaGradeV obj);

    /**
     * 查询薪资标准类别
     * @param obj
     * @return
     */
    List<NccWaGradeV> selectWaGrad(NccWaGradeV obj);

    /**
     * 保存公共薪资项目
     * @param obj
     */
    void saveWaItem(NccWaItemV obj);

    /**
     * 查询公共薪资项目
     * @param obj
     * @return
     */
    List<NccWaItemV> selectWaItem(NccWaItemV obj);

    /**
     * 保存薪资级别
     * @param obj
     */
    void saveWaprmlv(NccWaPrmlvV obj);

    /**
     * 查询薪资级别
     * @param obj
     * @return
     */
    List<NccWaPrmlvV> selecWaprmlv(NccWaPrmlvV obj);

    /**
     * 清空表记录
     * @param tableName
     */
    void truncateTable(@Param("tableName") String tableName);

    void updatePrmlvTable();
}
